package 力扣;

/**
 * 给定一个链表，两两交换其中相邻的节点，并返回交换后的链表。
 *
 * 你不能只是单纯的改变节点内部的值，而是需要实际的进行节点交换。
 * 输入：head = [1,2,3,4]
 * 输出：[2,1,4,3]
 */
public class _24两两交换 {
	
	  public class ListNode {
		      int val;
		      ListNode next;
		      ListNode(int x) { val = x; }
		  }
	
	//递归
    public ListNode swapPairs(ListNode head) {
       if( head == null ) return null;
       if( head.next == null ) return head;
       ListNode next = head.next;
       head.next = swapPairs(next.next);
       next.next = head;
       return next;
    }

}
